Systems and devices for lawn care

ABSTRACT

An autonomous lawn mower includes removable batteries, one or more electric motors, a cutting blade, one or more wheels, an angle sensor, and a controller. The cutting blade is driven by one of the electric motors. The wheels are driven by one of the electric motors. The controller is configured to allow the lawn mower to perform a grass cutting function at a jobsite without human interaction. The controller is configured to determine whether a roll angle is greater than a first predefined amount using data from the angle sensor. In response to determining the roll angle is greater than the first predefined amount, the controller is configured to stop operation of one of the one or more electric motors configured to provide rotational drive power to the cutting blade.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/258,518, filed Jan. 25, 2019, which claims the benefit of U.S.Provisional Patent Application No. 62/622,717, filed Jan. 26, 2018, thecontents of which are hereby incorporated by reference in theirentireties.

BACKGROUND

The present invention generally relates to outdoor power equipment. Morespecifically, the present invention relates to autonomous lawn caredevices.

SUMMARY

One exemplary embodiment of the present disclosure relates to anautonomous lawn mower. The autonomous lawn mower generally includes aplurality of removable batteries, one or more electric motors, a cuttingblade, one or more wheels, an angle sensor, and a controller. The one ormore electric motors are supplied with electrical power from theplurality of removable batteries. The cutting blade is driven by one ofthe one or more electric motors. The controller is in communication withthe angle sensor and is configured to allow the autonomous lawn mower toperform a grass cutting function at a jobsite without human interaction.The controller is configured to determine whether a roll angle isgreater than a first predefined amount. The roll angle is measured fromthe angle sensor. In response to determining that the roll angle isgreater than the first predefined amount, the controller is configuredto stop operation of the one or more electric motors configured toprovide rotational drive power to the cutting blade. The controller isfurther configured to determine whether the roll angle is greater than asecond predefined amount. In response to determining that the roll angleis greater than the second predefined amount, the controller isconfigured to stop operation of each of the one or more electric motors.

Another exemplary embodiment relates to a lawn mower. The lawn mowergenerally includes a plurality of removable batteries, a plurality ofelectric motors, a cutting blade, one or more wheels, an angle sensor,and a controller. The plurality of electric motors are supplied withelectrical power from the plurality of removable batteries. The cuttingblade is driven by one of the plurality of electric motors. Thecontroller is in communication with the angle sensor and is configuredto determine whether a roll angle is greater than a first predefinedamount. The roll angle is measured from the angle sensor. In response todetermining that the roll angle is greater than the first predefinedamount, the controller is configured to stop operation of one of theplurality of electric motors configured to provide rotational drivepower to the cutting blade. The controller is further configured todetermine whether the roll angle is greater than a second predefinedamount. In response to determining that the roll angle is greater thanthe second predefined amount, the controller is configured to stopoperation of each of the plurality of electric motors.

Another exemplary embodiment relates to a lawn mower. The lawn mowergenerally includes a plurality of removable batteries, a plurality ofelectric motors, a cutting blade, at least two wheels, an antenna, anangle sensor, a plurality of object detections sensors, and acontroller. The plurality of electric motors are supplied withelectrical power from the plurality of removable batteries. The cuttingblade is driven by one of the plurality of electric motors. Thecontroller is in communication with each of the antenna, the anglesensor, and the plurality of object detection sensors. The controller isconfigured to determine whether a roll angle is greater than a firstpredefined amount. The roll angle is measured from the angle sensor. Inresponse to determining that the roll angle is greater than the firstpredefined amount, the controller is configured to stop operation of oneof the plurality of electric motors configured to provide rotationaldrive power to the cutting blade. The controller is further configuredto determine whether the roll angle is greater than a second predefinedamount. In response to determining that the roll angle is greater thanthe second predefined amount, the controller is configured to stopoperation of each of the plurality of electric motors.

Various other features, objects and advantages of the invention will bemade apparent from the following description taken together with thedrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings illustrate the best mode presently contemplated of carryingout the disclosure. In the drawings:

FIG. 1 is a front perspective view of an autonomous lawn care device,according to some embodiments.

FIG. 2 is a perspective view of a first battery pack according to someembodiments.

FIG. 3 is a perspective view of a second battery pack according to someembodiments.

FIG. 4 is an electrical schematic illustration of a controller of theautonomous lawn care device according to some embodiments.

FIG. 5 is a perspective view of a service vehicle associated with theautonomous lawn care device of FIG. 1 , according to some embodiments.

FIG. 6 is a schematic diagram of a controller of the service vehicle ofFIG. 5 , according to some embodiments.

FIG. 7 is a system view illustrating a lawn care technician preparing ayard for service, according to some embodiments.

FIG. 8 is a system view of a service team preparing a yard for serviceby one or more autonomous devices, according to some embodiments.

FIG. 9 is a system view illustrating an autonomous lawn care deviceoperating in conjunction with a lawn service technician.

FIG. 10 is a system view illustrating a lawn care service dispatchingand recovering a number of autonomous lawn are devices to multiplelawns.

DETAILED DESCRIPTION

The present disclosure is directed to autonomous powered lawn careequipment for use with maintaining a yard or other outdoor area. Thefigures depict autonomous lawn cutting devices, service vehicles, andprocesses. However, it should be understood that the autonomous lawncare device could be configured to function as other types of outdoorpower equipment such as with thatchers, edge trimmers, seeders,sprayers, snow throwers, sod cutters, power rakes, overseeders,aerators, sod cutters, brush mowers, spreaders, etc.

The present disclosure relates to systems and devices for performingautomated lawn care, including functions such as mowing, edging,trimming, etc. The lawn care may be performed by one or more automateddevices which can work either individually or in groups to complete oneor more lawn care functions. Further, the autonomous devices may beoperated as a system and controlled from a central station or controlvehicle to allow for multiple lawns to be serviced in a given period oftime.

Presently, most commercial lawn care services utilize individual workersoperating multiple types of outdoor power equipment (e.g. zero-turnmowers, string trimmers, edgers, thatchers, sprayers, seeders, and thelike) at a given worksite. This results in multiple workers beingneeded, which increases the cost to the commercial lawn care service,and therefore the end customer. While some commercial lawn care serviceshave attempted to use automated equipment, current automated equipmenteither requires a gasoline, or other fossil fuel based engine, tooperate. Generally, fossil fuel based engines require supervision of thedevice during operation. Other commercial lawn care services may utilizeelectrical (e.g. battery) powered devices. However, current electronicunits often do not have the capacity (e.g. battery life) to complete ajob at a given job site, let alone multiple job sites throughout theday. Further, current electronic units must be recharged before they canbe used again, which can be time consuming, resulting in inefficienciesfor the commercial lawn care service. Further, these current electronicunits do not provide communications and status information to thecommercial lawn care service, thus requiring human interaction at thejob sites to monitor and maintain the electronic units. The currentdisclosure describes autonomous lawn care devices which can communicatewith the lawn care service provider. The autonomous lawn care devicesdescribed herein further have increased battery life, as well as anability to replace the batteries easily to allow for the autonomous lawncare devices to continue to operate without requiring downtime to chargea non-replaceable power source.

FIG. 1 illustrates an autonomous lawn care device in the form of anautonomous lawn mower 100. While the autonomous lawn care device isshown as mower 100, it is contemplated that the lawn care device canalso be operated as other lawn care devices, such as those describedabove. In some embodiments, the autonomous lawn mower 100 may be similarto the robotic lawnmower as described in United States PatentApplication No. PCT US 2017/063583, which is hereby incorporated byreference in its entirety herein.

The autonomous lawn mower 100 may include sensors 102, one or moreremovable batteries 104, a communication antenna 106, one or morelocating antennas 108, a visual beacon 110, and one or more attachmentpoints 112. In some embodiments, the autonomous lawn mower 100 isgas-powered. In some embodiments, the autonomous lawn mower 100 can usea hybrid power solution, such as a combination of gas-powered andbattery powered. The autonomous lawn mower 100 may further include anupper frame 114, a lower frame 116, and a number of wheels 118. Whilenot shown in FIG. 1 , the lawn mower 100 may also include operatinglights, a user interface (e.g., user interface 408 shown in FIG. 4 ),one or more blades or other implements, a clippings ejection chute, oneor more electric motors to provide a traction drive and/or rotationaldrive power to the blades or other implements.

In one embodiment, the battery 104 is a removable battery pack. In someembodiments, the battery 104 may be a rechargeable battery, such as aLi-ion battery. However, other battery types, such as NiCd, lead-acid,Nickel-Metal Hydride (NiMH), or Lithium Polymer, are also contemplated.As described above, the battery 104 may be a lithium-ion batterycomprising multiple Li-ion cells arranged in a variety of series (S) andparallel (P) configurations. In one configuration, the battery 104includes seventy-eight cells. Each cell is rated at 3.6 volts and 2.5amp-hours. The battery 104, in one configuration, arranges the cells ina 13S6P configuration with 13 cells connected in series in a group andsix groups of cells connected in parallel. The series configurationyields a system voltage of 46.8 volts for the battery 104. The sixparallel cell configuration yields fifteen amp-hours capacity for thebattery 104. The combination of the two provides 702 watt-hours energycapacity for the battery 104.

In some embodiments, the battery 104 has the cells arranged in multiplelayers. For a 13S6P configuration battery 104, each layer includes cellsarranged in six groups and the battery 104 includes two layers of cells.

In an alternative embodiment, the cells are arranged in a single layerwith six groups of thirteen cells each. In an application using four ofthe 13S6P configuration batteries 104, the total energy capacity wouldbe 2808 watt-hours (2.8 kilowatt-hours). In this embodiment, the battery104 weighs about 10.75 pounds and is substantially shaped like a cube.

In another configuration, the battery 104 includes eighty-four cellsarranged in a 14S6P configuration. Using cells rated at 3.6 volts and2.5 amp-hours, this configuration yields a voltage of 50.4 volts, 15amp-hours of capacity, and 756 watt-hours of energy capacity. In otherembodiments using cells rated at 3.9 volts and 2.5 amp-hours, the 13S6Parrangement would yield a voltage of 50.7 volts, 15 amp-hours ofcapacity, and 760.5 watt-hours of energy. In the 14S6P configuration,the voltage would be 54.6 volts, 15 amp-hours of capacity, and 819watt-hours of energy.

In another configuration, the battery 104 includes one hundred cellsarranged in a 20S5P configuration having five groups of twenty cellseach. Each group or row of twenty cells is welded or otherwise connectedtogether in series (e.g., by conductors 116), and each of the fivegroups of twenty cells is welded or connected together in parallel(e.g., by conductors). The cells used in the battery 104 may be 18650form factor cylindrical cells (18 millimeter diameter and 65 millimeterlength). In other configurations, the cells used in the battery 104 maybe 21700 form factor cylindrical cells. These cells may be available in3.2 amp hours, 2.9 amp-hours, 2.5 amp-hours, and other cell ratings.Using cells rated at 3.6 volts, and 3.2 amp-hours, a 20S5P configurationbattery 104 provides a voltage of 72 volts, 16 amp hours of capacity,and 1152 watt-hours of energy. Using cells rated at 3.6 volts, and 2.9amp hours, a 20S5P configuration battery module provides a voltage of 72volts, 14.5 amp-hours of capacity, and 1044 watt-hours of energy. Usingcells rated at 3.6 volts and 2.5 amp-hours, a 20S5P configurationbattery pack provides a voltage of 72 volts, 12.5 amp-hours of capacity,and 900 watt-hours of energy.

In some embodiments, the battery 104 provides about one kilowatt-hour ofenergy (e.g., between 800 watt-hours and 1.2 kilowatt-hours) and weighsless than twenty pounds. Because the battery 104 may need to be changedin the field, the battery 104 needs to be of a manageable size andweight for the end user to lift, carry, install, remove, etc., so thatthe battery 104 is configured to provide manual portability for theuser. The battery 104 is configured to be small enough, light enough,and graspable enough to allow the battery 104 to be manually portable bythe user. The user does not need a lift, cart, or other carrying deviceto move the battery 104. Also, end products powered by the battery 104generally scale in increments that can be measured in kilowatt-hours ofenergy. For example, a standard residential lawn tractor may requirebetween two and three kilowatt-hours of energy capacity and a premiumresidential lawn tractor may require between three and fourkilowatt-hours of energy capacity. Batteries 104 that provide about onekilowatt-hour of energy and weigh less than twenty pounds allow the enduser to easily choose between a standard configuration and premiumconfiguration of the lawn tractor or other end product by providing areasonable number of battery modules to achieve either configuration andbattery modules of a size and weight that can be easily manipulated asneeded by the end user. The battery 104 may be interchangeable betweendifferent pieces of equipment (e.g., between a lawn tractor, a vehicle,a backup power supply, a stand-alone power supply, a portable generator,and a trolling motor).

The batteries 104 shown in FIG. 2 have a weight of approximately 13-15pounds. In the embodiment illustrated, the batteries are each 1 kWbattery packs. However, it is contemplated that different sizedbatteries could be utilized while operating within the scope of thepresent disclosure. In the embodiment shown in FIG. 2 , each of thebatteries 104 has the same physical size and electrical capacity.However, it is also contemplated that different types of battery packs,such as the physically smaller batteries, could be utilized in place ofthe batteries 104 or along with one or more of the batteries 104.

The batteries 104 of FIG. 3 include outer casings 300 having a lockinghandle 302 that allows the individual battery packs to be lockedtogether to form a stack as shown in FIG. 3 . The locking handles mayfurther be used to secure the battery 104 in a receptacle on theautonomous lawn mower 100. Thus, a user may be able to remove thebattery 104 from the autonomous lawn mower 100 without a tool byactuating the locking handle on the battery 104. The batteries 104 shownin FIG. 3 may be configured as described above.

Returning now to FIG. 1 , the sensors 102 on the autonomous lawn mower100 may be positioned around the autonomous lawn mower 100 as shown, aswell as in other locations as needed for a given configuration. Thesensors 102 may be all of the same type, or may be a combination ofdifferent sensor types. Sensors may include object detection sensors,such as infrared (IR), LIDAR, RADAR, Time-of-Flight (ToF), CCD, CMOS,Ultrasonic, Sonar, or other sensors configured to detect objects. Thevisual sensors may be used to detect objects, to map a lawn, or toassist in guidance of the autonomous lawn mower 100. Further sensors mayinclude moisture sensors, rain sensors, air quality sensors, magneticfield sensors (e.g. compass), temperature sensors, digital imagingsensors, motion detection sensors, rotation sensors, gyroscopes,chemical detection sensors, and the like. In some embodiments, thesensors 102 are coupled to a controller (e.g., controller 400 shown inFIG. 4 ) contained within the automated lawn mower 100, and used toprovide data to the controller, which can process the data to performfunctions as will be described in more detail below. The sensors mayfurther include weed sensing sensors, which can provide a count of weedsthat are detected on a given lawn.

The communications antenna 106 may be configured to communicate with oneor more other devices. In some embodiments, the communications antennais configured to communicate using a wireless communication protocol,including but not limited to, Wi-Fi (e.g. 802.11x), Wi-Max, cellular(e.g. 3G, 4G, LTE, CDMA, etc.), LoRa, Zigbee, Zigbee Pro, Bluetooth,Bluetooth Low Energy (BLE), Near Field Communication (NFC), Z-Wave,6LoWPAN, Thread, RFID, and other applicable wireless protocols. In someembodiments, the communications antenna 106 may communicate with ahomeowner's network (e.g. via Wi-Fi). In some embodiments, thecommunications antenna 106 may communicate with the homeowner's networkto access a central server, such as a cloud based server, as will bedescribed in more detail. In other embodiments, the communicationsantenna 106 may communicate with a local communications hub or bridge,such as a communications hub associated with a service vehicle. In stillother embodiments, the communications antenna 106 may be configured toallow for the autonomous lawn mower 100 to communicate directly with acentral or cloud-based server (e.g. via a cellular connection). In someembodiments, the communications antenna 106 may be used to communicatewith a user device capable of remotely controlling the autonomous lawnmower 100. Example user devices capable of remotely controlling theautonomous lawn mower 100 may include dedicated remote controls, smartphones, tablet computers, laptop computers, or any other user devicecapable of interfacing with the communication antenna 106.

The locating antenna 108 may be configured to provide location data tothe controller of the autonomous lawn mower 100. In some embodiments,the locating antenna 108 may be a Global Positioning Satellite (GPS)antenna for receiving locations data from a number of GPS satellites. Inother embodiments, the locating antenna 108 may be configured to receiveone or more differential GPS signals for determining a location of theautonomous lawn mower 100. In still other embodiments, the locatingantenna 108 may be configured to receive one or more inputs from a localpositioning system. For example, the locating antenna 108 may beconfigured to receive data from an installed boundary system (such as aburied cable, or placed transmitters). Additional local positioning datamay come from an aerial transmitter, such as on a roof top or a drone.Further local positioning data may include optical boundary data,magnetic boundary data, etc. In still further embodiments, the locatingantenna 108 may relay data to other autonomous lawn mowers, orsupervisory controllers to allow for a position of the autonomous lawnmower 100 to be monitored. However, in some embodiments, the locationdata of the autonomous lawn mower 100 may be communicated via thecommunications antenna 106.

The visual beacon 110 may be configured to provide an indication thatthe autonomous lawn mower 100 is operating. For example, the visualbeacon 110 may illuminate with a first color or pattern when theautonomous lawn mower 100 is moving, but the implements are not beingpowered. The visual beacon 110 may then provide a different colorillumination or illumination pattern when the autonomous lawn mower 100is actively operating (e.g. the implements are being powered). In someembodiments, the visual beacon 110 may be configured to provideinformation to a user, such as flashing in one or more patterns toindicate one or more failure codes. In still further embodiments, thevisual beacon 110 may provide an alert that there is a warning or alert,such as low battery, over-tilt, or that it is “stuck” (e.g. can nolonger move as required). The visual beacon 110 can also provide alocation of the device when it is operating in low light conditions,such as at night or when there is an overcast sky.

The attachment points 112 may be used to attach one more implements,control modules, communication modules, and the like to the autonomouslawn mower 100. For example, work implements, such as edgers, stringtrimmers, torches, sprayers, chemical dispensers, snow blowers, powerrakes, sod cutters, leaf blowers, leaf bailers, paint/markingdispensers, etc., may be coupled to the attachment points 112. In someembodiments, the attachment points may provide a power and groundconnection, as well as a communication connection to the controller ofthe autonomous lawn mower 100. The attachment points 112 may also beused to attach additional sensors to the autonomous lawn mower 100.Additional attachments may include other communication modules to allowfor communication with different protocols, additional beacons orillumination devices, location device, and the like.

Turning now to FIG. 4 , a block diagram illustrating a controller 400associated with the autonomous lawn mower 100 is shown, according tosome embodiments. The controller 400 may include a processing circuit402. The processing circuit 402 may include a processor 404 and a memory406. The processor 404 may be general purpose or specific purposeprocessor, an application specific integrated circuit (ASIC), one ormore field programmable gate arrays (FPGAs), a group of processingcomponents (e.g. parallel processing units), a neural network processingsystem, or other applicable processing circuits. The processor 404 maybe configured to execute computer code or instructions stored in thememory 406 or received from other computer readable media, such asphysical media (e.g. CD-ROM, DVD-Rom, flash drive, etc.), networkdrives, remote servers, mobile devices, etc. The memory 406 may includeone or more devices (e.g. memory units, memory devices, storage devices,etc.) for storing data and/or computer code for completing and/orfacilitating the functions and processes described in the presentdisclosure. The memory 406 may include random access memory (RAM),read-only memory (ROM) hard drive storage (physical or solid state),temporary storage, non-volatile memory, flash memory, optical memory, orany other suitable memory component for storing software objects and/orcomputer instructions. The memory 406 may include database components,object code components, script components, or any other type ofinformation structure for supporting the various functions andinformation structures described in the present disclosure. The memory406 may be communicably connected to the processor via the processingcircuit and may include computer code for executing (e.g. by theprocessor) one or more processes described herein.

The controller 400 may further be in communication with a user interface408 associated with the autonomous lawn mower 100 and/or associated witha user device separate from the autonomous lawn mower 100. Thecontroller 400 may further include a communication interface 410 and aninput/output (I/O) interface 412. The communication interface 410 mayinclude a serial interface 414 and a wireless interface 416. Thewireless interface 416 may be in communication with the communicationsantenna 106 and/or the locating antenna 108.

In one embodiment, the wireless communication interface 416 may beintegrated into the controller 400 or via a separate communicationmodule. In some embodiments, the wireless communication interface 416may be configured to communicate using one or more wireless protocols.For example, the wireless communication interface 416 may utilizewireless protocols including Wi-Fi (e.g. 802.11x), Wi-Max, cellular(e.g. 3G, 4G, LTE, CDMA, etc.), LoRa, Zigbee, Zigbee Pro, Bluetooth,Bluetooth Low Energy (BLE), Near Field Communication (NFC), Z-Wave,6LoWPAN, Thread, RFID, and other applicable wireless protocols. In someembodiments, the wireless communication interface 416 may be incommunication with a cloud-based server 418. The cloud-based server 418may be configured to interface with multiple programs and interfaces,and be accessible via the world wide web (e.g. the Internet). This canallow a user to access the controller 400 (and therefore the autonomouslawn mower 100) via any device that has access to the world wide web.For example, a user may be able to access the controller 400 via amobile device such as an internet connected computer, a smartphone (e.g.iPhone, Android phone, Windows phone), a tablet computer (e.g. iPad,Android Table, Microsoft Surface, etc.), or any other internet connecteddevice. In some embodiments, the cloud-based server 418 may provide oneor more web-based applications for interfacing between a user device andthe controller 400, and thereby the associated outdoor power equipment.In other embodiments, the user device may include a client-sideapplication, which can interface with the controller 400 via thecloud-server 418. In still further embodiments, the user device mayinclude one or more client-side applications which can be configured tocommunicate directly to the controller 400 via the wirelesscommunication interface 416, such as via Bluetooth, BLE, NFC, Zigbee,etc.

The serial communication interface 414 may utilize multiple serialcommunication protocols and/or hardware, including universalasynchronous receiver-transmitter (UART) communication, a serialperipheral interface bus (SPI), including MOSI, MISO, SCK, CS, and I2C,serial data lines (SDA), serial clock lines (SCL), universal serial bus(USB), RS-232, k-line, CAN, and the like. The I/O interface may beconfigured to provide communication between the controller 400 to one orsystems, subsystems or components on the autonomous lawn mower 100. Forexample, the I/O module 412 may interface with one or more of thesensors 102, the visual beacon 110, the battery 104, one or moreelectric motors on the autonomous lawn mower 100, or any otherapplicable systems. The I/O may be digital, analog, or a combinationthereof.

As described above, the memory 406 may include one or more modules,scripts or programs for the processor 404 to execute. In someconfigurations, the memory 406 may include an operating/control module420, a sensor module 422, a display interface 420, a navigation module426, an artificial intelligence (AI) module 424, a coordination module430, a safety module 432, and an interne of things (IoT) module 434.Further, it is contemplated that additional modules may be installed onor in the memory 406 to configure the controller 400 to control and/orimplement additional functions over time. For example, additionalmodules may be installed to control implements that are designed toattach to the autonomous lawn mower 100. Further, while the followingfunctions are described as being performed by a discrete module, it iscontemplated that one or more modules may be involved in performingcertain functions. Further, in some configurations, some modules may beconfigured to perform the functions associated with one of the othermodules described below.

The operating/control module 420 may be configured to control one ormore aspects of the autonomous lawn mower 100, including, but notlimited to, direction control, speed control, implement control, etc. Insome configurations, the operating/control module 420 may control thespeed and direction of the autonomous lawn mower 100 based on datareceived from the sensor module 422, the navigation module 426, the(artificial intelligence) AI module 428, the coordination module 430,the safety module 432, and/or the IoT module 434, as will be describedin more detail below. The operating/control module 420 may be incommunication with one or more electric motors used for controlling thewheels and or implements. For example, the operating/control module mayinterface with the motors via the I/O module 412, which may providepower control to the motors. In other embodiments, the operating/controlmodule 420 may interface with the visual beacons 110 to provide anindication to a user as described above. Example indications may includeoperating indications, directional indicators, error indications, etc.

The operating/control module 420 may also be configured to control oneor more attachments attached to the automated lawn mower 100. In someembodiments, the attachments may be coupled to the automated lawn mower100 via attachment points 112 described above. The operating/controlmodule 420 may interface with the attachments via the attachment points112. Example interfaces may include power and/or control andcommunication signals. In some embodiments, the operating/control module420 may be configured to automatically determine when an attachment hasbeen attached to an attachment point 112. In some embodiments, theoperating/control module 420 may detect a new attachment has beenattached, and install additional software (e.g. drivers, firmware,applications, etc.), which can allow the operating/control module 420 toobtain the required instructions for a given attachment. In someembodiments, the operating/control module 420 may download theadditional software from the cloud-based server 418. The attachments maybe similar to the attachments described above.

The operating/control module 420 may further be configured to operatethe autonomous lawn mower 100 in various pre-programmed ways, based onuser input. For example, the operating/control module 420 may beconfigured to cut a lawn using a specified pattern. For example, theautonomous lawn mower 100 may be instructed to cut a lawn using apattern such as striping (horizontal, vertical, angled, checkerboard,etc.), or a custom patterning scheme. The operating/control module 420may be able to control the intensity of the pattern contrasts. Infurther embodiments, the operating/control module 420 may be configuredto cut images or text into a yard based on user input. Theoperating/control module 420 may interface with the navigation module426 to properly cut the desired patterns in a given yard.

In some embodiments, the operating/control module 420 may be able tocontrol a height of cut by the autonomous lawn mower 100. In someconfigurations, the operating/control module 420 may control one or moremotors or actuators coupled to the implements (e.g. blades), which cancontrol an elevation of the implements. In other embodiments, theoperating/control module 420 may control one or more actuators coupledto the implements to change a pitch or angle of the implements duringoperation. In still further embodiments, the operating/control module420 may be configured to control one or more motors or actuatorsconfigured to adjust a height of the wheels 118, which in turn controlsa height of cut by the autonomous lawn mower 100. In still furtherembodiments, the operating/control module 420 can be configured tooperate various components (e.g. motors, actuators, transmissions,relays, switches) associated with the autonomous lawn mower 100 asrequired.

In some embodiments, the operating/control module 420 may further beconfigured to determine the presence of an incline, slope, or hill andincrease or decrease operation of one or more motors of the autonomouslawn mower 100 based on the incline information. The incline circuit isconfigured to control the mower 100 to drive in a straight line evenwhen operating on sloped ground. For example, if the mower 100 isdriving along the side of a hill (e.g., if the lawn of an operator issloped and an operator is attempting to cut the grass of the lawn in astraight line), correction may be required to cause the mower 100 todrive in a straight line. The operating control module 420 may beconfigured to receive accelerometer data and/or gyroscope data from anaccelerometer and/or gyroscope. If it is determined that the mower 100is descending a hill, the sensitivity of object detection/sensing may bedecreased such that the mower 100 does not inadvertently detect theapproaching flat ground as an object in the way of the mower 100.

The data received from an angle sensing device (e.g., the accelerometerand/or gyroscope) may be indicative of a roll of the mower 100. In thisregard, the operating/control module 420 can determine whether the rollis greater than a predefined amount and whether line correction isnecessary. In response to determining that the roll is greater than apredefined amount and/or based on the polarity of the roll (whether theautonomous lawn mower 100 is rolling clockwise or counterclockwise) theincline circuit can be configured to operate one or more drive wheels tokeep the autonomous lawn mower 100 driving in a straight line. Forexample, if the autonomous lawn mower 100 is in a roll to the right, theright wheel speed may be a particular amount greater than the left wheelspeed. The right wheel speed and/or the left wheel speed may be based onan operator directed drive speed and a magnitude of the roll. Similarly,if the autonomous lawn mower 100 is in a roll to the left, the leftwheel may be driven at a higher speed than the right wheel to keep theautonomous lawn mower 100 driving in a straight line.

In some embodiments, various amounts of roll may indicate that theautonomous lawn mower 100 is being operated in a dangerous manner. Forexample, it may be dangerous for the mower 100 to be riding on a sharpincline since there may be the chance that the mower 100 rolls or flipsover and exposes the blades. In this regard, the operating/controlmodule 420 can determine whether the mower 100 is in danger bydetermining whether a roll angle is greater than a first predefinedamount. In response to determining that the roll angle is greater thanthe first predefined amount, the operating/control module 420 can turnoff chore motors (or cause the motor controllers to turn off choremotors). However, the operating/control module 420 may continue tooperate the drive motors so that the operator of the mower 100 cancorrect the dangerous situation. If the operating/control module 420determines that the roll angle is greater than both the first predefinedand a second predefined amount greater than the first predefined amount,this may indicate that the mower 100 is flipping or rolling, has flippedor rolled, or is very likely to flip or roll. In this regard, theoperating/control module 420 can be configured to shut down all motorsand/or apply braking devices.

The operating/control module 420 may also be configured to detect adeviation from the desired direction of travel or from the desired pathand modulate the power delivered to each wheel in order to modify thecourse and/or eliminate any wheel slippage. Using heading informationfrom the gyroscope or wheel slip information from the optical encodersand GPS the operating/control mode 420 detects a situation where thelawn mower 100 may be encountering a slope or angled ground. Asconventional electric lawn mowers drive, the charge on their fixedbatteries continuously decreases, resulting in a continuous decrease inthe maximum grade of hill they can scale. The operating/control module420 can cause the battery system to selectively draw power from one ormore different battery modules, and because of this the autonomous lawnmower 100 can climb steep hills, even after long periods of operation.For example, the operating/control module 420 could save one fullycharged battery module while driving on level ground and use it when itencounters a steeper slope. The operating/control module 420 may beconfigured to draw from this reserve battery module when the controller400 determines (e.g., using information from a gyroscope or from alocation sensor) that the lawn mower 100 has deviated from the desireddirection of travel along a desired path by at least a threshold angle.Alternatively, the operating/control module 420 may be configured todraw from this reserve battery module when the controller 400 determines(e.g., using information from the gyroscope) that the orientation of alawn mower is within a predetermined range (e.g., indicative of a slopehaving at least a threshold grade).

In some embodiments, the operating/control module 420 includes a hybridmanagement circuit. The hybrid management circuit can be configured tooperate a hybrid device (where the autonomous outdoor power equipment isa hybrid device that runs on both a gas engine and a motor with one ormore batteries). The hybrid management circuit can receive an indicationof the voltage or state of charge (SoC) of the one or more batteries andcan be configured to operate a throttle of the gas engine based on themeasurement. The hybrid management circuit can be configured todistribute power in a power train of the hybrid system and/or can beconfigured to operate switching mechanisms causing the one or morebatteries to charge and/or discharge in order to use a low (or minimal)amount of gas power.

The sensor module 422 may be configured to communicate with the numberof sensors 102 described above. The sensor module 422 may further beconfigured to collect data from multiple sensors 102, process the data,and subsequently provide the processed data to other modules as needed,such as the operating/control module 420. In one configuration, thesensor module 422 may receive sensor data indicating the presence of anobstacle or other obstructions. The sensor module 422 may be able todetermine if the obstacle or obstruction are fixed or moving. Forexample, the sensor module 422 may be able to distinguish between a treeor rock in the path of the autonomous lawn mower 100 and a movingobstacle such as a child or pet in the path of the autonomous lawn mower100. This information can be provided to other modules such as theoperating/control module 420, the safety module 432, and/or thenavigation module 426.

In other configurations, the sensor module 422 may be able to determinea fault or error condition of the autonomous lawn mower 100 based onreceived sensor data. For example, sensor data from sensors such asmotion detection sensors, visual sensors, rotation sensors, andgyroscopes may be analyzed by the sensor module 422 to determine thatthe autonomous lawn mower 100 is improperly positioned. For example, theautonomous lawn mower may be stuck at an improper angle, upside down,etc. The sensor module 422 may then provide a fault indication to one ormore other modules to inform an operator that there is an issue with theautonomous lawn mower 100.

The sensor module 422 may further be configured to determine otherconditions based on data provided by the sensors 102. For example, airquality sensors, temperature sensors, and moisture sensors may provideinformation related to the quality of the lawn being cut. For example,the sensor data may allow the sensor module 422 to determine if the lawnis dry, wet, etc. Based on this analysis, one or more other softwaremodules may determine that cutting parameters or cutting times may needto be changed to ensure optimal lawn care. In some embodiments, thesensor module may receive data from a chemical detection sensor whichcan determine a level of chemical on the lawn being cut. Based on thisdata, it can be determined whether an additional chemical is needed, orif the application of a certain chemical should be reduced. The sensormodule 422 may further be configured to process sensor data from othersensors to aid in the operation of various functions of the autonomouslawn mower 100, as described above.

The display interface module 424 may be configured to control the userinterface 408 associated with the autonomous lawn mower 100 and/or aseparate user device (e.g., tablet, mobile device, laptop, etc.). Theuser interface 408 displays information to the user and receive controlinputs from the user. In some embodiments, the user interface 408includes a display screen and one or more user input devices (e.g.,switches, buttons, key-switches, dials, etc.). In some embodiments, thedisplay screen is a touch screen display that both displays informationto the user and receives user inputs. In some embodiments, the userinterface 408 includes an application installed onto a computer,smartphone, tablet, or other device. Such a device may connect to thecontroller 400 through a wired connection or through a wirelessconnection (e.g., Bluetooth, Wi-Fi, infrared, etc.). In someembodiments, the user interface 408 provides the user with informationrelated to the operation of the autonomous lawn mower 100. By way ofexample, the user interface 408 may indicate the state of charge of thebattery 104, the run time provided by the battery 104, or the currentstatus of the autonomous lawn mower 100 (e.g., operating, charging,etc.) or alert the user if the autonomous lawn mower 100 needsmaintenance (e.g., by displaying faults) or needs user intervention inthe event of being stuck, etc. The user interface 408 can also displaythe amount of time until completion of a jobsite to the user, currentreturn on investment information for a mower 100, etc. The userinterface 408 can also receive inputs from the user to control theautonomous lawn mower 100. By way of example, the user interface 408 mayallow the user to select between various cutting heights, issue run andstop commands, develop a schedule for when the autonomous lawn mower 100will operate, or to tell the autonomous lawn mower 100 to return to abattery storage/charging station 506 (FIG. 5 ).

In some configurations, the display interface module 424 may receivedata from one or more of the other software modules in the memory 406.The display interface module may further receive input directly from theuser interface 408 where the user interface 408 includes an inputmechanism to allow a user to input information directly into the userinterface 408 as noted above. The display interface module 424 may beconfigured to process any inputs provided by the user. The displayinterface module 424 may then transmit the processed data to othermodules as required. For example, a user may provide an input to set acut height of the autonomous lawn mower 100, which is transmitted to thedisplay interface module 424, and then provides the instructions to theoperating/control module 420 to adjust the cut height as describedabove. Further, the display interface module 424 may be configured toreceive data from one or more of the software modules and then displaythe data provided to the display interface module 424 on the userinterface 408.

The navigation module 426 may be configured to control the navigation ofthe autonomous lawn mower 100. In some embodiments, the navigationmodule 426 communicates navigation instructions to the operating/controlmodule 420, which can then control the autonomous lawn mower 100 toproceed as required by the navigation module 426. In someconfigurations, the navigation module 426 may be in communication withthe locating antenna 108 and/or the communication antenna 106 forreceiving location data. The navigation module 426 may also be incommunication with one or more sensors 102 to determine a location ofthe autonomous lawn mower 100. In some embodiments, the navigationmodule 426 may receive location data, such as GPS data, via the locatingantenna 108. Alternatively, or in conjunction with the locating antenna108 data, the navigation module 426 may obtain location data from thesensors 102. For example, the sensors 102 may be visual sensors andvisually provide location data to the navigation module 426. Thenavigation module 426 may then compare the received visual location datareceived from the sensors 102 to previously obtained image data for agiven job site. In some embodiments, the navigation module 426 mayaccess the previously obtained image data via the cloud-based server418. The image data may have been captured by various methods, includingvisual recordings by the autonomous lawn mower 100, a user, a drone,satellite imagery, and the like. In still further configurations, thesensors 102 may also provide other location data, such as a magnetic orelectric field signal. The magnetic or electric field signal mayrepresent a proximity of the autonomous lawn mower 100 to a boundaryindicator such as a buried wire. In other examples, the sensors 102 mayprovide boundary data provided by light-based (e.g. lasers, IR) boundaryindicators.

In some embodiments, the navigation module 426 may receive instructionsregarding a specific pattern or path that is desired of the autonomouslawn mower 100. The navigation module 426 may receive the instructionsvia the user interface 408 and/or via the communication interface 410.In some configurations, the navigation module 426 may receive theinstructions via the cloud-based server 418. For example, a user may beable to generate a specific pattern using a landscaping or otherapplicable program. The pattern may then be communicated to theprocessing circuit 402. The navigation module 426 may then create anavigation path for the autonomous lawn mower 100 to create the desiredpattern. The navigation module 426 may then interface with theoperating/control module 420 to execute the desired pattern.

In some embodiments, the navigation module 426 may have a training modethat allows a user to teach a boundary path for the autonomous lawnmower 100. For example, the user may attach a manual push handle to theautonomous lawn mower (such as via the attachment points 112) and pushthe autonomous lawn mower 100 along the boundary of the operating area(e.g. the portion of the lawn to be cut). The navigation module 426 maythen store the boundary for use with the specific lawn or jobsite. Instill other embodiments, the user may walk the outline of the boundaryand the autonomous lawn mower 100 may follow via the user by utilizingone or more sensors 102. The navigation module 426 may then generate theboundary area based on the path of the user. In still other embodiments,the user may place one or more visual markers or indicators along theboundary of the lawn or jobsite which can be detected by the sensors 102during an initial scan of the lawn or jobsite. The navigation module 426may then generate a boundary map based on the provided visualmarkers/indicators. Visual markers or indicators can include flags,colored paint, rope, string, laser patterns, etc. Other boundaryindicators, such as chemical boundaries, ultrasonic boundaries, RFIDboundaries (e.g. via RFID transmitters attached to various points of thejob site), gravity sensors, non-harmful radioactive material, etc. mayalso be used and sensed via the one or more sensors 102 for establishinga boundary for a given lawn or jobsite, and stored in memory 406 or thecloud based server 418. In some instances, a mesh of boundary material(e.g. metallic mesh) may be installed when new sod is placed, or duringnew construction, which may further be used as a boundary indicator forthe autonomous lawn mower 100. Other boundary options may include avisual grid beamed onto the yard via an emitter located above the jobsite area. In still further configurations, multiple boundary systems,such as those described above, may be used together to increase theaccuracy and granularity of the boundary of a given job site.

The AI module 428 may include multiple artificial intelligencealgorithms to allow for various learning functions within the autonomouslawn mower 100. In some embodiments, the AI module 428 may communicatewith the navigation module 426 to improve the navigation of theautonomous lawn mower 422 over time using AI techniques. For example, ifthe autonomous lawn mower 100 repeatedly encounters an obstacle, the AImodule 428 may communicate with the navigation module 426 to reconfigurethe navigation module 426 to adjust the navigation pattern accordingly.The AI module 428 may further be configured to interface with othermodules as well, such as the coordination module 430. The AI module mayreceive data from multiple autonomous lawn mowers 100 via thecoordination module 430. Based on the received data, the AI module 428may be able to determine an optimal operation (e.g. edging, trimming,coordinated cutting, etc.) for the multiple autonomous lawn mowers 100.

The coordination module 428 may be configured to interface with one ormore additional autonomous lawn mowers 100. For example, in someembodiments multiple autonomous lawn mowers 100 may be utilized in aswarm or coordinated manner to more effectively complete a job at agiven lawn. In other embodiments, the autonomous lawn mowers 100 may beconfigured to operate as a fleet of devices capable of operating onmultiple job sites at a time. The coordination module 100 may beconfigured to communicate with each of the autonomous lawn mowers 100 ona specific jobsite or within the fleet. In some embodiments, thecoordination module 430 may communicate with other autonomous lawnmowers 100 directly via the communications antenna 106 and thecommunication interface 410. In still other embodiments, thecoordination module 430 may communicate with other autonomous lawnmowers 100 via the cloud-based server 418. The coordination module 430may be configured to collect data from each of the connected autonomouslawn mowers 100. The coordination module 430 may then process the datato provide instructions to each of the autonomous lawn mowers 100.

The safety module 432 may be configured to operate one or more safetyfunctions associated with the autonomous lawn mower 100. In someembodiments, the safety module 432 may communicate with other modules,such as the operating/control module 420, the sensor module 422, thenavigation module 426, the AI module 428, and/or the coordination module430. The safety module 432 may receive data from one or more of theabove modules and execute one or more safety functions. For example, thesafety module 432 may receive data indicating that the autonomous lawnmower 100 may be in danger (e.g. fall off an edge, overturn, etc.) basedon one or more sensed or determined parameters. The safety module 432may then execute certain safety functions to protect one or more systemswithin the autonomous lawn mower. Safety functions may include shuttingoff power to one or more systems within the autonomous lawn mower 100.Further safety systems may include deploying impact reduction devices(e.g. airbags, bumpers, etc.) based on the safety module 432 determiningthat there may be an impact or collision affecting the autonomous lawnmower 100.

In some embodiments, the safety module 432 may interface with the sensormodule 422 to determine if there is a safety risk to a human or animal.For example, if a pet, such as a dog or cat, were to be detected in thevicinity of the autonomous lawn mower 100, the safety module 432 mayinstruct the operating/control module 100 to reduce speed to avoid thepet or animal, or to cease operating completely until the animal is outof a danger range of the autonomous lawn mower 100. Similarly, if thesensors detect a child near the autonomous lawn mower 100, the safetymodule 432 may instruct the operating/control module 420 to ceaseoperations completely. In some embodiments, a user may be required torestart the autonomous lawn mower 100 when the safety module 432executes a safety program. In other embodiments, the safety module 432may be able to instruct the operating/control module 420 to resumeoperating when the safety issue has been resolved.

The IoT module 434 module may be configured to interface with one ormore remote devices via the wireless communication interface 416. Insome embodiments, the IoT module 434 may be configured to communicatewith the cloud-based server 418 via the wireless communication interface416. The cloud-based server 418 may be configured to interface withmultiple programs and interfaces, and be accessible via the World WideWeb (e.g. the Internet). This can allow a user to access the controller400 via any device that has access to the World Wide Web. For example, auser may be able to access the controller 400 via a mobile device suchas an internet connected computer, a smartphone (e.g. iPhone, Androidphone, Windows phone), a tablet computer (e.g. iPad, Android Table,Microsoft Surface, etc.), or any other internet connected device. Insome embodiments, the cloud-based server 418 may provide one or moreweb-based applications for interfacing between a user device and thecontroller 400, and thereby the autonomous lawn mower. In otherembodiments, the user device may include a client-side application,which can interface with the controller 400 via the cloud-based server418. In still further embodiments, the user's device may include one ormore client-side applications which can be configured to communicatedirectly to the controller 400 via the wireless communication interface416, such as via Bluetooth, BLE, NFC, Zigbee, etc. In some embodiments,the user device also includes operator-side applications which can beconfigured to communicate directly to the controller 400 via thewireless communication interface 416.

The IoT module 434 may include one or more software applicationsconfigured to process data or instructions received via the wirelesscommunication interface 416. In some embodiments, the IoT module 434 mayprocess data provided by one of the above described software modules420-434, and provide that data to a user device or to the cloud-basedserver 418 via the wireless communication interface 416.

The IoT module 434 may communicate with the cloud-based server 418 toallow for one or more applications related to the autonomous lawn mower100 to be executed. One application may be a monitoring application foruse by a commercial cutter to monitor certain aspects of one or moreautonomous lawn mowers in a given fleet. For example, the IoT module 434may transmit location data provided by the sensor module 422 and/or thenavigation module 426 to the cloud-based server 418. Thus, a user may beable to access location information for one or more autonomous lawnmowers 100 via the cloud-based server 418. In further embodiments, theIoT module 434 may transmit various operating parameters relative to theautonomous lawn mower 100 from the operating/control module 420, thesensor module 422, and/or the safety module 432 to the cloud-basedserver. A user may then access the operating parameters via thecloud-based server 418. Operating parameters may include batteryparameters (voltage level, state-of-charge “SoC,” state-of-health “SoH,”average power and/or current draw, time since last charge, etc.),autonomous lawn mower 100 parameters (speed, temperatures, motor currentdraw, implement speed, estimated time to completion, etc.),environmental parameters (grass height, moisture levels, outdoor lightlevels, etc.), errors, and other parameters as applicable. In someembodiment, different users having different permission levels may beable to access different operating parameters, based on their jobresponsibility. For example, a user responsible for interfacing directlywith an individual autonomous lawn mower 100 may have access to someoperational parameter information, while a user responsible formonitoring the entire fleet of autonomous lawn mowers 100 may haveaccess to other operational parameter information.

In some embodiments, the IoT module 434 may transmit other lawncharacteristic data to the cloud-based server 418 for evaluation. Forexample, the IoT module may transmit information related to the numberor percentage of weeds associated with a given lawn, which may bedetected via a weed sensing sensor on the autonomous lawn mower 100. TheIoT module 434 may also allow for remote activation or deactivation ofthe autonomous lawn mower via the cloud-based server 418. This can allowfor an owner of the autonomous lawn mower 100 to have control over theoperation of the autonomous lawn mowers 100 in their fleet, which may beused upon theft, safety situations, or where a user of the autonomouslawn mower 100 is no longer authorized to operate the autonomous lawnmower 100.

Turning now to FIG. 5 , a perspective view of a service vehicle 500 isshown, according to some embodiments. The service vehicle 500 may beutilized by a commercial lawn care or landscaping service to transporttools and equipment, as well as to provide servicing for various outdoorpower equipment, including autonomous lawn mowers 100. In someembodiments, the service vehicle 500 may be configured to deliver,monitor, and/or control one or more autonomous lawn mowers 100. As shownin FIG. 5 , the service vehicle 500 is configured to include a loadingelevator 502, a number of charging and storage bays 504 for theautonomous lawn mowers 100, a loading/unloading ramp 505, a sparebattery storage/charging station 506, a number of equipment storagelocations 508, a washing station 510, and a controller 512, according tosome embodiments.

The loading elevator 502 may be configured to load and stack one or moreautonomous lawn mowers 100 onto the service vehicle 500. In someembodiments, the loading elevator 502 may be controlled by controller512. In other embodiments, the loading elevator may be manuallycontrolled by a user, such as via a manual switch or control. Theloading elevator may be configured to move in a lateral direction tolift and lower the autonomous lawn mowers 100, and a longitudinaldirection to maneuver the autonomous lawn mowers 100 into thecharging/storage bays 504. In other embodiments, the loading elevator502 may be integrated with the charging/storage bays 504 such that theloading elevator 502 translates along the longitudinal direction toprovide access to a specific charging/storage bay 504 within the loadingelevator 502. In some configurations, the loading elevator 502 withintegrated charging/storage bays 504 may be configured to operate alonga central axis such that the individual integrated charging/storage bays504 can be rotated about the central axis in order to provide access toeach of the charging/storage bays 504.

The autonomous lawn mowers 100 may access the loading elevator 502 viathe loading/unloading ramp 505. In some embodiments, theloading/unloading ramp 505 may be automatically deployed when anautonomous lawn mower 100 approaches the service vehicle 500. Forexample, the autonomous lawn mower 100 may transmit a signal to thecontroller 512 on the service vehicle 500 indicating that the ramp is tobe lowered. This signal may further cause the controller to activate theloading elevator 502 to prepare to move the autonomous lawn mower 100 toan open charging/storage bay 504. In some configurations the autonomouslawn mower 100 may be configured to automatically drive up onto theloading/unloading ramp 505. In other embodiments, a user may manuallylift the autonomous lawn mower up the loading/unloading ramp 505 to theloading elevator 502. In some configurations, the loading/unloading ramp505 may be manually controlled by a user, such as by activating a switchor other control device, or by manually lowering and raising the rampvia a mechanical mechanism. In some embodiments, the loading/unloadingramp 505 may be automatically raised and lowered using variousconfigurations. For example, an electric motor, hydraulic actuators,linear electric actuator, pneumatic actuators, and the like may beutilized to raise and lower the loading/unloading ramp.

The loading/unloading ramp 505 may also be configured to lower in orderto unload one or more autonomous lawn mowers 100 at a job site. In someembodiments, the loading/unloading ramp 505 may be automaticallydeployed when the service vehicle 500 arrives at a worksite. In someembodiments, the controller 512 may receive a signal from the driver ofthe service vehicle 500 that it has arrived at the job site and to lowerthe loading/unloading ramp 505 to allow for an autonomous lawn mower 100to be moved to the jobsite to begin operating. In other embodiments, auser may manually operate a control device (e.g. switch, pushbutton,etc.) to lower the loading/unloading ramp 505, and allow for one or moreautonomous lawn mowers 100 to be delivered to the job site. In someembodiments, the controller 512 may determine when the autonomous lawnmower 100 is clear of the loading/unloading ramp 505 and automaticallyraise the loading/unloading ramp 505 such that the service vehicle 500can proceed to the next job site if desired. In other embodiments, auser can manually raise the loading/unloading ramp 505 when the job iscompleted, such as by using the methods described above.

The equipment storage area 508 may be used to store various manuallyoperated outdoor power equipment, such as edge trimmers, seeders,blowers, vacuums, power rakes, zero turn mowers, manual push lawnmowers, power trimmers, tools, and any other required equipment neededto service a given jobsite. The manually operated outdoor powerequipment may be fossil fuel powered (e.g. via internal combustionengine), electrically powered (e.g. via Li-Ion batteries), or acombination thereof. In some embodiments, the electrically poweredoutdoor power equipment may be powered using the battery 104 describedabove. However, in some embodiments, other battery types may be used topower the outdoor power equipment.

The spare battery storage/charging station 506 may be configured tostore one or more batteries, such as batteries 104, which can allow forreplacement batteries to be installed into one or more autonomous lawnmowers 100 when there was not sufficient time to charge the autonomouslawn mowers 100 between job sites. The spare battery storage/chargingstation 506 may also work to charge batteries as well in order to allowfor batteries removed from the autonomous lawn mowers 100 to be chargedon board the service vehicle 500. In some embodiments, the spare batterystorage/charging station 506 may be powered by the service vehicle's 500alternator or other power system. In some configurations, a separatepower system (e.g. supplemental generator, battery system, etc.) may beused to power the spare battery storage/charging station 506. Further,the other components of service vehicle (washing station 510,charging/storage bays 504, robot loading elevator 502, loading/unloadingramp) may be powered using similar configurations. In some embodiments,the controller 512 is in communication with the spare batterystorage/charging station 506. The controller 512 may be configured tomonitor and control the charging of one or more batteries in the sparebattery storage/charging station 506, as will be described in moredetail below.

The washing station 510 may be configured to clean one or more pieces ofoutdoor power equipment, including an autonomous lawn mower 100. Thewashing station may include a washtub 514, a washing device 516, and awater reservoir 518. The wash tub 514 may be configured to catch waterand debris associated with cleaning an outdoor power device. In someembodiments, the washtub 514 may have water jets along the bottom of thewashtub 514 to allow for the underside of the outdoor power equipment tobe cleaned. The water jets may be pressurized to allow for sufficientcleaning of the outdoor power equipment. In some configurations, thewashtub 514 may be configured to accept an autonomous lawn mower, suchthat the water jets can clean the underside of the autonomous lawnmower, which may collect grass clippings and other debris duringoperation. In some embodiments, the controller 512 may be configured tocontrol the water jets. The water jets may receive water via the waterreservoir 518. The washing device 516 may be a manually operatedcleaning device, such as a power washer. The washing device 516 canallow for a user to clean debris from various parts of the outdoor powerequipment, as needed. The washing device 516 may receive water via thewater reservoir 518.

Turning now to FIG. 6 , a block diagram of the controller 512 is shown,according to some embodiments. The controller 512 may include aprocessing circuit 600. The processing circuit 600 may include aprocessor 602 and a memory 604. The processor 602 may be general purposeor specific purpose processor, an application specific integratedcircuit (ASIC), one or more field programmable gate arrays (FPGAs), agroup of processing components (e.g. parallel processing units), aneural network processing system, or other applicable processingcircuits. The processor 602 may be configured to execute computer codeor instructions stored in the memory 604 or received from other computerreadable media, such as physical media (e.g. CD-ROM, DVD-Rom, flashdrive, etc.), network drives, remote servers, mobile devices, etc. Thememory 604 may include one or more devices (e.g. memory units, memorydevices, storage devices, etc.) for storing data and/or computer codefor completing and/or facilitating the functions and processes describedin the present disclosure. The memory 604 may include random accessmemory (RAM), read-only memory (ROM) hard drive storage (physical orsolid state), temporary storage, non-volatile memory, flash memory,optical memory, or any other suitable memory component for storingsoftware objects and/or computer instructions. The memory 604 mayinclude database components, object code components, script components,or any other type of information structure for supporting the variousfunctions and information structures described in the presentdisclosure. The memory 604 may be communicably connected to theprocessor via the processing circuit and may include computer code forexecuting (e.g. by the processor) one or more processes describedherein.

The controller 512 may further be in communication with a user interface606 associated with the service vehicle 500. The controller 512 mayfurther include a communication interface 608 and an I/O interface 610.The communication interface 608 may include a serial interface 612 and awireless interface 614. The wireless interface 614 may be coupled to oneor more antennas on the service vehicle 500 to allow for transmittingand receiving data.

In one embodiment, the wireless communication interface 608 may beintegrated into the controller 512 or via a separate communicationmodule. In some embodiments, the wireless communication module 614 maybe configured to communicate using one or more wireless protocols. Forexample, the wireless communication interface 416 may utilize wirelessprotocols including Wi-Fi (e.g. 802.11x), Wi-Max, cellular (e.g. 3G, 4G,LTE, CDMA, etc.), LoRa, Zigbee, Zigbee Pro, Bluetooth, Bluetooth LowEnergy (BLE), Near Field Communication (NFC), Z-Wave, 6LoWPAN, Thread,RFID, and other applicable wireless protocols. In some embodiments, thewireless communication interface 614 may be in communication with acloud-based server 618. In some configurations, the cloud-based server616 may be the same as cloud-based server 418, described above. Thecloud-based server 618 may be configured to interface with multipleprograms and interfaces, and be accessible via the World Wide Web (e.g.the Internet). This can allow a user to access the controller 512 (andtherefore one or more systems associated with the service vehicle 500)via any device that has access to the World Wide Web. For example, auser may be able to access the controller 512 via a mobile device suchas an internet connected computer, a smartphone (e.g. iPhone, Androidphone, Windows phone), a tablet computer (e.g. iPad, Android Table,Microsoft Surface, etc.), or any other internet connected device. Insome embodiments, the cloud-based server 616 may provide one or moreweb-based applications for interfacing between a user device and thecontroller 512, and thereby the associated outdoor power equipment. Inother embodiments, the user's device may include a client-sideapplication, which can interface with the controller 512 via thecloud-server 616. In still further embodiments, the user's device mayinclude one or more client-side applications which can be configured tocommunicate directly to the controller 512 via the wirelesscommunication interface 614, such as via Bluetooth, BLE, NFC, Zigbee,etc.

The serial communication interface 612 of the communication interface608 may be configured to communicate with one or more systems associatedwith the service vehicle. The serial communication interface 612 mayutilize multiple serial communication protocols and/or hardware,including universal asynchronous receiver-transmitter (UART)communication, a serial peripheral interface bus (SPI), including MOSI,MISO, SCK, CS, and I2C, serial data lines (SDA), serial clock lines(SCL), universal serial bus (USB), RS-232, k-line, CAN, and the like.The I/O interface may be configured to provide communication between thecontroller 512 to one or systems, subsystems or components on theautonomous lawn mower 100. For example, the I/O module 610 may interfacewith systems or subsystems of the service vehicle, including, but notlimited to, the loading elevator 502, the charging/storage bays 504, thespare battery storage system 506, the washing system 510 and/or theloading/unloading ramp 505. The I/O may be digital, analog, or acombination thereof.

As described above, the memory 406 may include one or more modules,scripts or programs for the processor 604 to execute. In someconfigurations, the memory 604 may include an elevator control module618, a loading/unloading control module 620, a display interface module622, a navigation module 624, a charging module 626, a cleaning module628 and an IoT module 630. Further, it is contemplated that additionalmodules may be installed on the memory 406 to configure the controller400 to control and/or implement additional functions over time. Forexample, additional modules may be installed to control implements thatare designed to attach to the autonomous lawn mower 100. Further, whilethe following functions are described as being performed by a discretemodule, it is contemplated that one or more modules may be involved inperforming certain functions. Further, in some configurations, somemodules may be configured to perform the functions associated with oneof the other modules described below.

The elevator control module 618 may be configured to interface with andprovide control to the loading elevator 502 described above. In someembodiments, the elevator control module 618 may interface with one ormore elevator control components via the I/O module 610. The elevatorcontrol components may include motors, actuators, hydraulic pumps,pneumatic pumps, etc. Via the control via the I/O module 610, theelevator control module 618 may be able to control a movement of theloading elevator 502. For example, the elevator control module 618 maybe configured to raise and lower the loading elevator 502 as needed. Insome embodiments, the elevator control module 618 may receive a signalindicating that an autonomous lawn mower 100 needs to be loaded. In someembodiments, the signal may be provided via the I/O 610 and/or theserial communication interface 612. For example, a user may provide anindication that an autonomous lawn mower needs to be loaded into theelevator. In other embodiments, the elevator control module 618 mayreceive a signal that an autonomous lawn mower 100 needs to be loadedvia one of the other software modules, such as the loading/unloadingcontrol module 620, the navigation module 624, and/or the chargingmodule 626. In still further embodiments, the elevator control module618 may receive a wireless signal via the wireless interface 614indicating that an autonomous lawn mower needs to be loaded or unloaded.For example, an autonomous lawn mower 100 may transmit a signal to theelevator control module. In other examples, a wireless signal may beprovided to the elevator control module via a wireless device of a user.

In some embodiments, the elevator control module 618 may be configuredto control a secondary device, such as a linear actuator, to extend atray from the loading elevator 504 during loading and unloading ofautonomous lawn mowers 100, as shown in FIG. 5 . In further embodiments,the elevator control module 618 may be in communication with one or moresensors or other devices in the loading elevator 502. The sensors mayprovide an indication as to whether a given slot or carrier within theloading elevator 502 is open or occupied (e.g. contains an autonomouslawn mower 100). For example, where the charging/storage bays 504 areintegrated into the loading/unloading elevator 502, the elevator controlmodule 618 would be able to provide an indication of which portions ofthe loading elevator 502 were occupied by autonomous lawn mowers 100. Insome embodiments, the loading elevator 502 may have additional sensorsor other devices to determine one or more aspects of the autonomous lawnmower 100 on the loading elevator 502. For example, the loading elevatormay include a number of short range wireless sensors (e.g. NFC, RFID,etc.) for determining identifying information about a loaded autonomouslawn mower 100. In other configurations, other sensors, such as visualsensors, laser readers, or contact surfaces (for interfacing with acorresponding contact surface on the autonomous lawn mower 100) may beused to read or receive data on the autonomous lawn mower 100 todetermine the identifying information. In some embodiments, theidentifying information may include a unit number, a unit name, a serialnumber, or similar information.

The elevator control module 618, having received the identifyinginformation from the autonomous lawn mower 100, may then provide thatinformation to one or more other modules, such as the loading/unloadingcontrol module 620, the display interface module 622, the navigationmodule 624, the charging module 626, the cleaning module 628, and/or theIoT module 630. This can allow for the one or more other modules toaccess the autonomous lawn mower 100 to determine one or more associatedparameters. In some configurations, the other modules may be configuredto access the autonomous lawn mowers 100 via the wireless interface 614.However, the communication to the autonomous lawn mowers 100 may beperformed via other interfaces, such as via serial interface 612 or viathe I/O 610. In still further embodiments, a user may input theidentifying information via the user interface 606, which can then bereceived by one or more of the modules 618-630.

As described above, a user may control the loading elevator 502 via aswitch or other control device on the service truck 500. The elevatorcontrol module 618 may be configured to receive a signal from the manualcontrols via the I/O 610, the serial interface 612, and/or the wirelessinterface 614. The elevator control module 618 may be further configuredto send control signals to the loading elevator 502 to perform theoperations indicated by the manual control by the user. The elevatorcontrol module 618 may further include various safety features toprevent damage to the loading elevator 502 and/or one or more autonomouslawn mowers 100. For example, safety switches, limit switches, opticalsensors (e.g. light beams), pressure switches, and the like may indicatethat the elevator is at a limit of operation, or that an obstruction(e.g. an autonomous lawn mower 100) is present, inhibiting movement. Theelevator control module 618 may then prevent additional movements of theloading elevator if it is determined a limit is reached, or a potentialrisk is present. The elevator control module 618 may be configured tooverride manual controls by a user as well when continued operationcould result in damage to the loading elevator 502 and/or an autonomouslawn mower 100. In some instances, the elevator control module 618 mayprovide an alert or explanation to a user when operation is halted. Forexample, the elevator control module 618 may communicate with the uservia the user interface. In other embodiments, the elevator controlmodule 618 may push a communication to a mobile device associated withthe user via the wireless interface 614. In still further embodiments,the elevator control module 618 may communicate with the cloud-basedserver 616 to alert that further operation is not possible, or has beenlimited. The contents of the communication, and the communication methodmay depend on the importance of the reason for operation being ceased.

The loading/unloading control module 620 may be configured to handle theloading and unloading of one or more autonomous lawn mowers 100 to andfrom the service vehicle 500. For example, the loading/unloading controlmodule 620 may be configured to control the loading/unloading ramp 505and/or the charging storage bays 504. In some embodiments, theloading/unloading control module 620 may receive a signal, via thecommunication interface 608, indicating that an autonomous lawn mowerneeds to be unloaded at a jobsite. In some embodiments, the signal maybe provided by a user via the user interface 606. In other embodiments,the signal may be based on a location of the service vehicle 500. Forexample, the loading/unloading control module 620 may receive a signalfrom a location device such as a GPS. In some configurations, the signalmay be provided by the navigation module, which may be in communicationwith one or more location systems, including GPS, differential GPS, orother location determining system. The loading/unloading control module620 may further receive information from the vehicle interface module632. For example, the vehicle interface module 632 may provide a signalto the loading/unloading control module 620 indicating that the servicevehicle 500 is in a safe condition for an autonomous lawn mower 100 tobe loaded or unloaded. Example safe conditions may include ensuring thevehicle is at a complete stop, that the transmission is in park, that anairbrake or parking brake has been engaged, that there are no persons orobstacles near the loading/unloading ramp, etc.

The loading/unloading control module 620 may then instruct theloading/unloading ramp 505 to lower. The loading/unloading controlmodule 620 may also communicate with the elevator control module 618 tomove the desired autonomous lawn mower 100 into position to be unloaded.In some embodiments, the loading/unloading control module 620 maycommunicate with the charging module 626 to determine which autonomouslawn mower 100 has a charged status to complete a given job. In someembodiments, the loading/unloading control module 620 may have access tothe estimated charge required for a given job site. For example, eachjob site may have certain parameters stored in the cloud-based server616, which the loading/unloading control module 620 may be able toaccess via the wireless communication interface 614. In someembodiments, the job information may be provided to theloading/unloading control module 620 via the IoT module 630. Once theloading/unloading control module 620 has lowered the loading/unloadingramp 505, and the loading elevator 502 has positioned an autonomous lawnmower 100 in position, the loading/unloading control module 620 maytransmit a signal to the autonomous lawn mower 100 to instruct it todebark the service vehicle 500. In some embodiments, theloading/unloading control module 620 may communicate with the autonomouslawn mower 100 via the wireless communication interface 614. In otherembodiments, the loading/unloading control module 620 may interface withthe autonomous lawn mower 100 via the serial communication interface612, such as via a connection point in the loading elevator 502.

The loading/unloading control module 620 may also receive a signal thatan autonomous lawn mower 100 is required to be loaded onto the servicevehicle 500. Similar to above, the loading/unloading control module 620may receive an input directly from the autonomous lawn mower 100. Inother configurations, the user may provide a signal indicating that anautonomous lawn mower 100 needs to be loaded onto the service vehicle500. Upon receiving the signal, the loading/unloading control module 620may verify that it is safe to commence the loading process. For example,the loading/unloading control module 620 may first determine that theservice vehicle is in the proper location to load the autonomous lawnmower 100. The loading/unloading control module 620 may also interfacewith the vehicle interface module 632 to verify that the service vehicleis in a safe condition to load the autonomous lawn mower 100, asdescribed with respect to the unloading process.

The loading/unloading control module 620, determining that the servicevehicle 500 is ready to load an autonomous lawn mower 100 may beconfigured to instruct the loading/unloading ramp 505 to lower, andfurther instruct the loading elevator 502 to position an open bay toreceive the autonomous lawn mower 100, such that the autonomous lawnmower 100 may be able to access the open bay via the loading/unloadingramp 505. The loading/unloading control module 620 may further activateone or more sensors or beacons to assist the autonomous lawn mower 100to successfully load the autonomous lawn mower into the loading elevator502. The loading/unloading control module 620 may further be configuredto transmit a signal to the autonomous lawn mower 100, via the wirelesscommunication interface 614, that it can load itself onto the servicevehicle 500. Once the loading/unloading control module 620 determinesthat the autonomous lawn mower has been loaded onto the service vehicle500, the loading/unloading control module 620 may then provide a signalto the charging module 626 to instruct it to begin charging theautonomous lawn mower 100. The loading/unloading control module 620 maythen transmit a signal to the cloud-based server 616 that the autonomouslawn mower 100 has been loaded, along with other data regarding theloading process and/or the autonomous lawn mower 100. For example, theloading/unloading module 500 may receive parameters from the autonomouslawn mower 100, such as battery charge level, run time at job site, anyerror codes, etc. Further, the loading/unloading control module 620 mayalso transmit general loading data, such as time of loading, thelocation (e.g. as provided by the navigation module 624) of the loading,etc.

The display interface module 622 may be configured to interface with andcontrol the user interface 606. For example, the display interfacemodule 622 may be configured to display messages or other data providedby other modules to the user interface 606. In further embodiments, thedisplay interface module 622 may also be configured to receive datainput into the user interface 606 by a user, and further configured topass the received data to one or more other modules as needed.

The navigation module 624 may be configured to provide navigationinstructions of the service vehicle 500. In some configurations, thenavigation module 624 may be configured to control the navigation of theservice vehicle 500, where the service vehicle is configured as anautonomous service vehicle 500. In some embodiments, the navigationmodule 624 communicates navigation instructions to the user interface606, which may be viewable by the user (e.g. driver) of the servicevehicle. In other configurations, the navigation module 624 may providenavigation instructions to the vehicle interface module 632, which maythen pass the navigation to one or more vehicle interfaces which mayprovide navigation instructions to the operator of the service vehicle500. For example, the navigation module 624 may communicate with anavigation display in the cab of the service vehicle 500 via the vehicleinterface module 632, which may provide guidance to jobsites to theoperator via the navigation display. In other configuration, thenavigation module 624 may be configured to interface directly with anavigation display in the cab of the service vehicle 500. In someconfigurations, the navigation module 624 may be in communication with alocating antenna on the service vehicle 500 configured to receivelocation data. For example, the locating antenna may be a GPS antenna.The navigation module 624 may also be in communication with one or moresensors to determine a location of the service vehicle 500. For example,the navigation module 624 may communicate with Wi-Fi hotspots, cellulartowers, local GPS transmitters, differential GPS transmitters, and thelike. The navigation module may receive data from the sensors, thelocating antenna, or both when determining the location of the servicevehicle. In some embodiments, the navigation module 624 may beconfigured to transmit and receive location data to the cloud-basedserver 616 via the wireless interface 614.

In some embodiments, the navigation module 426 may receive instructionsregarding a specific route or waypoint that the service vehicle is tofollow. In one configuration, the navigation module may receive specificroutes or waypoints via the cloud-based server 616. For example, thecloud-based server may provide an optimized route to the navigationmodule 624 based on the specific job sites to be serviced in a givenday. In other embodiments, the cloud-based server 616 may provide thenavigation module 624 with real-time route guidance based on the statusof one or more autonomous lawn mowers 100 in operation. In otherconfigurations, job site status may be used to determine the routeprovided to the navigation module 624, which may be provided by theautonomous lawn mowers 100, the job site workers, or both. In someembodiments, the navigation module 426 may receive instructions via theuser interface 606 and/or via the communication interface 608.

The charging module 626 may be configured to control both thecharging/storage bays 504 and/or the spare battery storage/chargingstation 506. In some embodiments, the charging module 626 may receivedata from the charging/storage bays 504 and/or the spare batterystorage/charging station 506. In some configurations, the chargingmodule 626 may receive data via the I/O interface 610, the communicationinterface 608, or a combination thereof. The data may includeinformation such as charge levels of individual batteries, batterytemperatures, charging time, etc. The charging module 626 may beconfigured to interface with the charging/storage bays 504 and/or thespare battery charging/storage station 506. For example, the chargingmodule 626 may be configured to control a rate of charge for one or morebatteries being charged within the charging/storage bays 504 and/or thespare battery charging/storage station 506. In some configurations, thecharging module 626 may be configured to prioritize charging of certainbatteries within the charging/storage bays 504 and/or the spare batterycharging/storage station 506. For example, the charging module 626 maybe configured to use more available charging energy to charge a batteryassociated with an autonomous lawn mower 100 that is scheduled to beplaced at a jobsite within a given time window. In other examples, thecharging module 626 may prioritize the charging of various batterieswithin the charging/storage bays 504 and/or the spare batterycharging/storage station 506, and adjust power provided to each of thebatteries based on available power for charging. This could includeproviding more power to high priority batteries when the service vehicle500 is in motion in order to draw more charging power from thealternator. In embodiments where the service vehicle has a dedicatedpower source for non-driving functions (e.g. charging batteries,operating the loading elevator 502, etc.), the charging module 626 maybe configured to determine the power available for charging batteries,and charging the batteries in the charging/storage bays 504 and/or thespare battery charging/storage station 506 based on an associatedpriority.

The cleaning module 628 may be configured to control the cleaningstation 510. In one embodiment, the cleaning module 628 may control apower source configured to drive the power washer 516 or other waterpressurization device. In some embodiments, the cleaning module 628 maybe configured to monitor a water level in the water holding tank 518.The water level may be presented to the user via the user interface 606and/or via an interface of the service vehicle 500 via the vehicleinterface module 632. The cleaning module 628 may further be configuredto interface with one or more auxiliary cleaning devices, such as acleaning solution injector which may be used to inject a cleaningsolution into a water stream used by the cleaning bay 510. In someconfigurations, the cleaning module 626 may be configured to communicatewith the cleaning station 510 and its various components via the I/Ointerface 610. In other configurations, the cleaning module 626 may beconfigured to communicate with the cleaning station 510 and its variouscomponents via the communication interface 608.

The IoT module 630 module may be configured to interface with one ormore remote devices or services via the wireless communication interface614. In some embodiments, the IoT module 630 may be configured tocommunicate with the cloud-based server 616 via the wirelesscommunication interface 614. The cloud-based server 616 may beconfigured to interface with multiple programs and interfaces, and beaccessible via the world wide web (e.g. the Internet). This can allow auser to access the controller 512 and the associated devices controlledby the controller 512, as described above, via any device that hasaccess to the world wide web. For example, a user may be able to accessthe controller 512 via a mobile device such as an internet connectedcomputer, a smartphone (e.g. iPhone, Android phone, Windows phone), atablet computer (e.g. iPad, Android Table, Microsoft Surface, etc.), orany other internet connected device. In some embodiments, thecloud-based server 616 may provide one or more web-based applicationsfor interfacing between a user device and the controller 512, andthereby the various functionality of the service vehicle. In otherembodiments, the user's device may include a client-side application,which can interface with the controller 512 via the cloud-based server616. In still further embodiments, the user's device may include one ormore client-side applications which can be configured to communicatedirectly to the control unit via the wireless communication interface614, such as via Bluetooth, BLE, NFC, Zigbee, etc.

The IoT module 630 may include one or more software applicationsconfigured to process data or instructions received via the wirelesscommunication interface 614. In some embodiments, the IoT module 630 mayprocess data provided by one of the above described software modules618-632, and provide that data to a user device or to the cloud-basedserver 616 via the wireless communication interface 614.

The IoT module 630 may communicate with the cloud-based server 616 toallow for one or more applications related to the service vehicle 500 tobe executed. One application may be a monitoring application for use bya commercial cutter to monitor certain aspects of one or more servicevehicles in a given fleet. For example, the IoT module 630 may transmitlocation data provided by the navigation module 624 to the cloud-basedserver 616. Thus, a user may be able to access location information forone or more service vehicles 500 via the cloud-based server 616. Infurther embodiments, the IoT module 630 may transmit various operatingparameters relative to the service vehicle 500 from any of the softwaremodules 618-632 to the cloud-based server 616. A user may then accessthe operating parameters via the cloud-based server 616. Operatingparameters may include fuel levels, miles traveled, operating times,inventory of autonomous lawn mowers 100, engine temperature, speed, RPM,stop times, routes, cleaning fluid on board, tire pressure, status ofloading/unloading ramp 505, or any other data as described above. Insome embodiment, different users having different permission levels maybe able to access different operating parameters, based on their jobresponsibility. For example, a user responsible for interfacing directlywith service vehicle 500 may have access to some operational parameterinformation, while a user responsible for monitoring the entire fleet ofservice vehicles 500 may have access to other operational parameterinformation.

The IoT module 630 may further interface with one or more schedulingapplications. Various data may be provided to the schedulingapplications, including number of times an autonomous lawn mower 100 isinterrupted (e.g. by pets, children, or adults interfering with theoperation of the autonomous lawn mower), the time the interruptionsoccurred, and other data points, such as noise complaints fromhomeowners or neighbors. Based on the data, the scheduling applicationmay be configured to provide optimized times for the autonomous lawnmower 100 to be deployed at a given job site (as well as other work beperformed).

The IoT module 630 may further interface with an optimization programwhich may provide the most optimized route for the service vehicle. Theoptimization program may work to increase run time of the autonomouslawn mowers 100, decrease stop time (e.g. time between autonomous lawnmower 100 completing a job and being picked up by the service vehicle500). The optimization program may also evaluate the optimized schedulesfor each lawn, such as data provided by the scheduling applicationdescribed above. The optimization application may further evaluate thebattery status of individual autonomous lawn mowers 100 to ensure thatthere will not be downtime (or limited downtime) associated with adrained battery on an autonomous lawn mower 100.

The IoT module 630 may be configured to determine the optimal scheduleand placement of mowers 100 within a fleet on a day-to-day basis. TheIoT module 630 may be configured to pull in third party data, such asweather forecasts and traffic conditions, to determine optimalscheduling. For example, the IoT module 630 can determine that there isan 80 percent chance of rain in a specific location at a specific timeand reroute the mowers 100 to complete jobs in other locations duringthat time and reschedule the mowers 100 to complete jobs in thatlocation during a time when rain is not forecast. As a further example,the IoT module 630 can determine that a traffic accident has occurred onthe route typically taken from one jobsite to the next and sendnotifications to personnel and suggest an alternative route to get tothe next jobsite. The IoT module 630 can additionally reconfigure routesand mowers 100 in response to a notification that a mower 100 isincapable of performing a job or is out of order. In addition, the IoTmodule 630 can time the operation of the autonomous lawn mower 100 withhow long it takes to perform other work at the same jobsite (e.g., timeto trim hedges, mulch, etc.).

The vehicle interface module 632 may be configured to interface directlywith the service vehicle 500. In some embodiments, the vehicle interfacemodule 632 may interface directly with the one or more service vehiclecontrol systems via the serial communication interface 608. In someconfigurations, the serial communication interface may directlyinterface with the Vehicle Communication Interface (VCI) associated withthe service vehicle 500. For example, the serial communication interface608 may communicate with the VCI via various protocols, including AFDX,ARINC 429, Byteflight, CAN, D2B, FlexRay, DC-Bus, IDB-1394, IEBus, I2C,ISO 9141, J1708, J1587, J1850, J1939, Keyword Protocol 2000, LIN, MOST,Multifunction Vehicle Bus, SMARTwireX, SPI, VAN, or other applicableprotocols. Accordingly, the vehicle interface module 632 may then haveaccess to service vehicle data available to the on-board controllers ofthe service vehicle 500. The vehicle data may include engine data, fueleconomy data, emissions data, safety system data, and the like.

FIGS. 7-10 illustrate various examples of the autonomous lawn mowers 100and/or service vehicles 500 being used in operation by a user, such as acommercial lawn care company. As shown in FIG. 7 , a user 700, such asan employee of a commercial lawn care service, may come to survey thelawn of a new or existing customer. The user 700 may have a user device702. In some embodiments, the user device 702 may be connected to one ormore of the cloud-based servers described above via a wirelesscommunication network. For example, the user device 702 may access thecloud-based servers via a cellular connection, a Wi-Fi connection, orvia other applicable wireless communication protocol. The user device702 may be any mobile device capable of communicating with a cloud-basedserver, such as a cellular phone, a tablet computer, a laptop computer,a dedicated computing device, etc. The user device 702 generally has auser interface 704, such as a touch screen interface.

The user 700 may evaluate the lawn or jobsite using the user device 702.In some embodiments, the user 700 may map out the lawn. Mapping out thelawn may include determine a square footage of areas that will requirework to be performed. In some embodiments, the user 700 may use one ormore features associated with the user device 702 to map out the lawn.For example, the user device 702 may include cameras, location systems(e.g. GPS), or other sensors which may allow the user to use the userdevice 702 to survey the yard. In other configurations, the user device702 may be able to interface with other devices to assist in mapping outthe lawn. For example, the user device 702 may be in communication witha drone which may include various sensors, such as cameras, locationsensors, laser imagers, altimeters, etc. The drone can interface withthe user device 702 to provide an overhead view. The user device 702 maythen be configured to process the images or data provided by the drone.For example, the drone may be able to use one or more sensors to createa topographical image of the lawn in being evaluated and transmit thetopographical image to the user device 702. The user 700 may then beable to use the user interface 704 of the user device 702 to outline theproperty, define boundaries (e.g. around obstructions, flower beds,etc.), or highlight areas requiring lawn service or landscaping. Theuser 700 may then be able to use the user device 702 to outline the workrequired based on a customer's specification. In some embodiments, theuser device 702 may include one or more augmented reality (AR) functionswhich allow the user to utilize a camera on the user device 700 and/orprovided by the drone to modify the lawn in real-time based on thecustomer's requirements, and allow the customer to view the proposedwork to verify it is correct via the user interface 704 of the userdevice 702.

In some embodiments, the user 700 may be able to provide a quote to theuser based on the information provided to the user device 700. As shownin FIG. 7 , the user 700 may be able provide quotes based on whether thelawn care will be done via manual labor, or if the lawn care will be, atleast partially, performed by one or more autonomous lawn mowers 100.The user device 702 may also provide detailed breakdown of costs for thecustomer, such as Return-of-Investment (ROI) for installing the initialhardware required to operate an autonomous lawn mower, cost savings overtime based on various intervals of servicing the lawn, etc. The ROI mayalso be based on the life of the autonomous lawn mower 100, the cut timeof the autonomous lawn mower 100, and other costs to install and operatethe autonomous lawn mower 100. Based on the quoted cost, a customer mayindicate to the user 700 what, if any, services they would like.

The overall cost of the autonomous lawn mower 100 may include cost ofrepair parts, maintenance, fuel, downtime of the equipment, overallhealth of the equipment, including age, how often repairs andmaintenance are required, and so on, are used to determine the totalcost of ownership. Using past data about the mower 100, various modulesof the controller 400 (e.g., sensor module 422, AI module 428) canpredict when the equipment costs more money to maintain and repair thanthe revenue the equipment is generating. The controller 400 can alsoreceive input from the operator and other personnel regarding fuel usagecosts, unit performance, etc. Thus, the controller 400 can predict whenthe equipment needs to be replaced.

Turning now to FIG. 8 , a number of users 700 are installing a boundarywire system for use with an autonomous lawn mower 100. In someembodiments, one user 700 may utilize an automatic digging device 800.In some configurations the automatic digging device 800 may simply dig asmall trench, at a depth below the frost line, for use in installing aboundary wire system. In other configurations, the automatic diggingdevice 800 may be configured to automatically lay the boundary wire froma spool attached to the automatic digging device 800. The automaticdigging device 800 may further be configured, in some embodiments, tobackfill the trench once the boundary wire has been installed. In someinstances, a second user 700 may install a boundary wire 802 via a spool804, once the trench has been dug by the automatic digging device 800,or otherwise. The boundary wire 802, as described above, may carry acurrent or transmit a signal which may be received by an autonomous lawnmower 100. While FIG. 8 describes the installation of a boundary wire,other configurations for providing one or more boundaries to theautonomous lawn are also contemplated, as described above.

FIG. 9 illustrates an autonomous lawn mower 100 working in conjunctionwith a user 700 on a jobsite. As shown in FIG. 9 , the autonomous lawnmower 100 may cut the lawn, while the user 700 (e.g. an employee of acommercial lawn service company) does trimming work with a manuallyoperated string trimmer 900. As further shown in FIG. 9 , the autonomouslawn mower 100 and the string trimmer 900 may be stored and operated viathe service vehicle 500.

Finally, FIG. 10 illustrates a service vehicle 500 dropping offautonomous lawn mowers 100 at a number of lawns and then subsequentlyretrieving the autonomous lawn mowers 100 from the lawns upon completionof the work. As described above, the autonomous lawn mower 100 mayprovide indications to the service vehicle 500 that the job iscompleted, or that it is ready to be picked up.

As utilized herein, the terms “approximately”, “about”, “substantially”,and similar terms are intended to have a broad meaning in harmony withthe common and accepted usage by those of ordinary skill in the art towhich the subject matter of this disclosure pertains. It should beunderstood by those of skill in the art who review this disclosure thatthese terms are intended to allow a description of certain featuresdescribed and claimed without restricting the scope of these features tothe precise numerical ranges provided. Accordingly, these terms shouldbe interpreted as indicating that insubstantial or inconsequentialmodifications or alterations of the subject matter described and claimedare considered to be within the scope of the invention as recited in theappended claims.

It should be noted that the term “exemplary” as used herein to describevarious embodiments is intended to indicate that such embodiments arepossible examples, representations, and/or illustrations of possibleembodiments (and such term is not intended to connote that suchembodiments are necessarily extraordinary or superlative examples).

Unless described differently above, the terms “coupled,” “connected,”and the like, as used herein, mean the joining of two members directlyor indirectly to one another. Such joining may be stationary (e.g.,permanent) or moveable (e.g., removable, releasable, etc.). Such joiningmay be achieved with the two members or the two members and anyadditional intermediate members being integrally formed as a singleunitary body with one another or with the two members or the two membersand any additional intermediate members being attached to one another.

References herein to the positions of elements (e.g., “top,” “bottom,”“above,” “below,” etc.) are merely used to describe the orientation ofvarious elements in the figures. It should be noted that the orientationof various elements may differ according to other exemplary embodiments,and that such variations are intended to be encompassed by the presentdisclosure.

Also, the term “or” is used in its inclusive sense (and not in itsexclusive sense) so that when used, for example, to connect a list ofelements, the term “or” means one, some, or all of the elements in thelist. Conjunctive language such as the phrase “at least one of X, Y, andZ,” unless specifically stated otherwise, is otherwise understood withthe context as used in general to convey that an item, term, etc. may beeither X, Y, Z, X and Y, X and Z, Y and Z, or X, Y, and Z (i.e., anycombination of X, Y, and Z). Thus, such conjunctive language is notgenerally intended to imply that certain embodiments require at leastone of X, at least one of Y, and at least one of Z to each be present,unless otherwise indicated.

It is important to note that the construction and arrangement of theelements of the systems and methods as shown in the exemplaryembodiments are illustrative only. Although only a few embodiments ofthe present disclosure have been described in detail, those skilled inthe art who review this disclosure will readily appreciate that manymodifications are possible (e.g., variations in sizes, dimensions,structures, shapes and proportions of the various elements, values ofparameters, mounting arrangements, use of materials, colors,orientations, etc.) without materially departing from the novelteachings and advantages of the subject matter recited. For example,elements shown as integrally formed may be constructed of multiple partsor elements. It should be noted that the elements and/or assemblies ofthe components described herein may be constructed from any of a widevariety of materials that provide sufficient strength or durability, inany of a wide variety of colors, textures, and combinations.Accordingly, all such modifications are intended to be included withinthe scope of the present inventions. Other substitutions, modifications,changes, and omissions may be made in the design, operating conditions,and arrangement of the preferred and other exemplary embodiments withoutdeparting from scope of the present disclosure or from the spirit of theappended claims.

What is claimed is:
 1. An autonomous lawn mower, comprising a pluralityof removable batteries; one or more electric motors supplied withelectrical power from the plurality of removable batteries; a cuttingblade driven by one of the one or more electric motors; one or morewheels selectively driven by one of the one or more electric motors; anangle sensor; and a controller configured to allow the autonomous lawnmower to perform a grass cutting function at a jobsite without humaninteraction; wherein the controller is further configured to: determinewhether a roll angle is greater than a first predefined amount, whereinthe roll angle is measured from the angle sensor; in response todetermining the roll angle is greater than the first predefined amount,stop operation of one of the one or more electric motors configured toprovide rotational drive power to the cutting blade; and wherein thecontroller is further configured to: determine whether the roll angle isgreater than a second predefined amount; and in response to determiningthe roll angle is greater than the second predefined amount, stopoperation of each of the one or more electric motors.
 2. The autonomouslawn mower of claim 1, wherein the angle sensor is an accelerometer. 3.The autonomous lawn mower of claim 1, wherein the angle sensor is agyroscope.
 4. The autonomous lawn mower of claim 1, wherein thecontroller is further configured to: adjust operation of one of the oneor more electric motors driving the one or more wheels of the autonomouslawn mower in response to receiving an indication from the angle sensorthat the roll angle is greater than a third predefined amount.
 5. Theautonomous lawn mower of claim 4, wherein the autonomous lawn mowerincludes at least two wheels that are each separately driven by one ofthe one or more electric motors, and wherein the controller is furtherconfigured to vary operation of each of the one or more electric motorsso that the at least two wheels are driven at different speeds.
 6. Theautonomous lawn mower of claim 1, further comprising a plurality ofinput/output (I/O) ports, the I/O ports configured to receive anattachment device.
 7. The autonomous lawn mower of claim 6, wherein theattachment device comprises one or more of an edging device, a stringtrimmer, a torch, a sprayer device, a chemical dispenser, a sensor, anda communication module.
 8. The autonomous lawn mower of claim 1, whereinthe plurality of removable batteries are rechargeable lithium-ionbatteries that are each configured to be removed without the use of atool.
 9. The autonomous lawn mower of claim 1, further comprising one ormore communication antennas, wherein the one or more communicationantennas include at least one of a communication antenna and a locatingantenna, wherein the communication antenna is electrically coupled tothe controller and configured to provide communication to the controllervia one or more wireless protocols and wherein the locating antenna isconfigured to communicate with one or more locating protocols to providelocation information to the controller.
 10. The autonomous lawn mower ofclaim 1, wherein each of the plurality of removable batteries have acapacity of greater than 800 Watt-hours.
 11. A lawn mower, comprising aplurality of removable batteries; a plurality of electric motorssupplied with electrical power from the plurality of removablebatteries; a cutting blade driven by one of the plurality of electricmotors; one or more wheels selectively driven by one of the plurality ofelectric motors; an angle sensor; and a controller, wherein thecontroller is further configured to: determine whether a roll angle isgreater than a first predefined amount, wherein the roll angle ismeasured from the angle sensor; in response to determining the rollangle is greater than the first predefined amount, stop operation of oneof the plurality of electric motors configured to provide rotationaldrive power to the cutting blade; and wherein the controller is furtherconfigured to: determine whether the roll angle is greater than a secondpredefined amount; and in response to determining the roll angle isgreater than the second predefined amount, stop operation of each of theplurality of electric motors.
 12. The lawn mower of claim 11, whereinthe angle sensor is at least one of an accelerometer and a gyroscope.13. The lawn mower of claim 11, wherein the controller is furtherconfigured to: activate a visual beacon on the lawn mower in response todetermining that the roll angle is greater than the first predefinedamount.
 14. The lawn mower of claim 11, wherein the lawn mower includesat least two wheels that are each separately driven by one of theplurality of electric motors, and wherein the controller is furtherconfigured to vary operation of two of the plurality of electric motorsso that the at least two wheels are driven at different speeds.
 15. Thelawn mower of claim 11, wherein each of the plurality of removablebatteries has a capacity greater than 800 Watt-hours.
 16. The lawn mowerof claim 15, wherein each of the plurality of removable batteries has acapacity of at least 1200 Watt-hours.
 17. The lawn mower of claim 15,wherein the plurality of removable batteries are rechargeablelithium-ion batteries that are each configured to be removed without theuse of a tool.
 18. The lawn mower of claim 11, wherein the controller isconfigured to allow the lawn mower to perform a grass cutting functionat a jobsite without human interaction.
 19. A lawn mower, comprising aplurality of removable batteries; a plurality of electric motorssupplied with electrical power from the plurality of removablebatteries; a cutting blade driven by one of the plurality of electricmotors; at least two wheels selectively driven by one of the pluralityof electric motors; an antenna; an angle sensor; a plurality of objectdetection sensors; and a controller in communication with each of theantenna, the angle sensor, and the plurality of object detectionsensors, wherein the controller is further configured to: determinewhether a roll angle is greater than a first predefined amount, whereinthe roll angle is measured from the angle sensor; in response todetermining the roll angle is greater than the first predefined amount,stop operation of one of the plurality of electric motors configured toprovide rotational drive power to the cutting blade; and wherein thecontroller is further configured to: determine whether the roll angle isgreater than a second predefined amount; and in response to determiningthe roll angle is greater than the second predefined amount, stopoperation of each of the plurality of electric motors.
 20. The lawnmower of claim 19, wherein each of the plurality of removable batteriesare rechargeable lithium-ion batteries having a capacity greater than800 Watt-hours that are each configured to be removed without the use ofa tool.